<div class="bg-light lter b-b wrapper-md">
  <h1 class="m-n font-thin h3">信号源管理</h1>
</div>
<div class="wrapper-md">
  <div class="row">
       <div class="col-sm-2" >
         <!-- 左边菜单-->
         <div style=" overflow-y:auto; overflow-x:auto;  height:600px;">
           <ul id="treeDemo" class="ztree"></ul>
         </div>
       </div>
  <div class="col-sm-10">
    <div class="panel panel-default">
      <div class="panel-heading">
          信号源管理
      </div>
        <div  ng-controller="dataTablesCtrl">
          <div class="row">
     <div class="col-sm-12" >
     <div class="panel-heading">

    <a ui-sref="app.signal.signalEdit"><button class="btn btn-default btn-sm "><i class="fa fa-plus fa-lg"></i>&nbsp; 新增</button></a>

    <a href="javascript:void(0);" ng-click="goEdit();" ><button class="btn btn-default btn-sm "><i class="fa fa-edit fa-lg"></i>&nbsp; 编辑</button></a>

    <a href="javascript:void(0);" ng-click="goRemove();" ><button class="btn btn-default btn-sm "><i class="fa fa-trash-o fa-lg"></i>&nbsp; 删除</button></a>

    <!--隐藏域-->
    <input type="hidden" id ="optIds" name="optIds">

    </div>
       </div>
           </div>
                <table id="myTable" class="table table-striped m-b-none"></table>
          </div>
        </div>
    </div>

    </div>

</div>


<!--样式-->
<style type="text/css">  
    div#rMenu {position:absolute; visibility:hidden; top:0; background-color: #555;text-align: left;padding: 2px;}  
    div#rMenu a{  
        cursor: pointer;  
        list-style: none outside none;  
    }  

.selected {
  background-color: #DFF0D8;
}
  
/* dataTables列内容居中 */
.table>tbody>tr>td{
        text-align:center;
}

/* dataTables表头居中 */
.table>thead:first-child>tr:first-child>th{
        text-align:center;
}
</style>
<!--样式-->






<!--右键菜单-->
<nav ui-nav class="navi" ng-include="'src/app/signal/ztree_edit.html'"></nav>


<script type="text/javascript">


//angularjs总控制器
app.controller('dataTablesCtrl', function($scope, $http,$state) {
//进入编辑页面
   $scope.goEdit = function () {
  var optIds = $('#optIds').val();
     if(''==optIds){
    top.layer.msg('请至少选择一项', {icon: 6});
       return false;
  }
  if(optIds.indexOf(",") != -1){
    top.layer.msg('编辑只能选择一项', {icon: 6});
    return false;
  }
        $state.go('app.signal.signalEdit', {infoId: optIds});
    };



//删除操作
   $scope.goRemove = function () {
 
 var optIds = $('#optIds').val();
     if(''==optIds){
    top.layer.msg('请至少选择一项', {icon: 6});
       return false;
    }

    top.layer.confirm('您确定删除这些信息吗', function(index){

    var postInfoUrl = API_URL+"signal_info";

    var optArrs = optIds.split(',');

    for(var i = 0;i< optArrs.length;i++ ){

         var infoUrl = API_URL+"signal_info?query=delflag:0,Id:"+optArrs[i];

          var formData =  MY_ASYNC_AJAX(infoUrl)[0];
         
          formData.Delflag = "1";

     $.ajax({
         url : postInfoUrl+'/'+optArrs[i],
        type : 'put',
         data: JSON.stringify(formData),
       cache : false,
     success : function(data) {

      }
    });

    }
        var table = $('#myTable').DataTable();
        top.layer.msg('删除成功');
        table.ajax.reload().draw();
       //location.reload();
  });




    };
});




function checkOne(){
  var optIds = '';
  $("input[name='ids']:checkbox:checked").each(function(){ 
      optIds+=$(this).val() +',';
       });
   if(''!=optIds){
        optIds = optIds.substring(0,optIds.length-1);
      }
$('#optIds').val(optIds);

  console.log($('#optIds').val());
}



var dtUrl =  API_URL+"signal_info?query=delflag:0";


    $(document).ready(function(){

 //初始化dataTable
     var table =  $('#myTable').DataTable({
         ajax: {
                url: dtUrl,
                dataSrc: ""
            },
      
         deferRender:true,
         Processing:true,
           buttons: [
        {
            extend: 'collection',
            text: 'Export',
            buttons: [ 'csv-flash', 'xls-flash', 'pdf-flash' ]
        }
    ],
            //默认最后一列（最后更新时间）降序排列
            order: [[3, "desc"]],
         
           
                    aoColumns: [
                    { data : "Id",
                    title: "<input type='checkbox' id='allChecked' name='allChecked' />",
                  orderable: false , 
              render : function(data, type, full, meta) {
            return '<input type="checkbox" value="'+ data + '" name="ids" onclick="checkOne()"/>';
           }},
         { data: "Id",
            title: "ID"
          },
         { data: "SignalName" ,
            title: "信号源名称"
       },
   

  { data: "SignalEnable"  ,
              title: "启用停用",
                    render: function (data, type, row, meta) {
                        if(row.SignalEnable==1){
                          return "<i style='color:#2e8ded;' title='启用' class='fa fa-spinner fa-spin'></i>"; 
                      }else{
                        return "<i  title='停用' class='fa fa-spinner fa-spin'></i>";
                      }
                    }

               },

         { data: "UpdateTime"   ,

         title: "更新时间",
                    render: function (data, type, row, meta) {

                        return getDateTime(data);
                    }}
     ],
            columnDefs: [
          
                {
                    targets: 5,
                    data: null,
                    title: "显示",
                    render: function (data, type, row, meta) {
                        var href = '';
                          if(row.SignalDisplayOnPc==1){
                            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('pc',0,"
                              + row.Id
                              + ")>";
                          href += "<i style='color:#2e8ded;' title='PC' class='fa fa-laptop fa-lg'></i></a>";
                          
                          }else{
                            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('pc',1,"
                              + row.Id
                              + ")>";
                          href += "<i  title='PC' class='fa fa-laptop fa-lg'></i></a>";
                          }
                          if(row.SignalDisplayOnPhone==1){
                            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('phone',0,"
                              + row.Id
                              + ")>";
                          href += "<i style='color:#2e8ded;' title='Phone' class='fa fa-phone fa-lg'></i></a>";
                          
                          }else{
                            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('phone',1,"
                              + row.Id
                              + ")>";
                          href += "<i  title='Phone' class='fa fa-phone fa-lg'></i></a>";
                          
                          }
                            
                          if(row.SignalDisplayOnPad==1){
                            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('pad',0,"
                              + row.Id
                              + ")>";
                          href += "<i title='pad' style='color:#2e8ded;' class='fa fa-tablet fa-lg'></i></a>";
                          }else{
                            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('pad',1,"
                              + row.Id
                              + ")>";
                          href += "<i title='pad' class='fa fa-tablet fa-lg'></i></a>";
                          }
                          
                          
                          if(row.SignalDisplayOnTv==1){

                            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('tv',0,"
                              + row.Id
                              + ")>";
                          href += "<i title='pad' style='color:#2e8ded;' class='fa fa-tv fa-lg'></i></a>";
                          }else{
                            href += "&nbsp;  <a href='javascript:void(0);' onclick=updateDisplay('tv',1,"
                              + row.Id
                              + ")>";
                          href += "<i title='pad' class='fa fa-tv fa-lg'></i></a>";
                          }
                      
                      return href;

                    }
                }
                ,
                {
                    targets:6,
                    data: null,
                    title: "操作",
                    render: function (data, type, row, meta) {

                        var href = '';
                            href += "&nbsp;  <a href='#/app/signal/signal/edit/"+row.Id+"'>";
                          href += "<i  title='编辑' class='fa fa-edit fa-lg'></i></a>";
                          
                          href += "&nbsp;  <a href='javascript:void(0);' onclick=goDelete("
                              + row.Id
                              + ")>";
                          href += "<i  title='删除' class='fa fa-trash-o fa-lg'></i></a>";
                        
                      
                      return href;

                    }
                }


            ],
     drawCallback: function( settings ) {
         

           },

           initComplete:function(data){

//选中行
 $('#myTable tbody').on( 'click', 'tr', function () {
          
        if ( $(this).hasClass('selected') ) {
            $(this).removeClass('selected');
        }
        else {
            table.$('tr.selected').removeClass('selected');
            $(this).addClass('selected');
        }
        
    } );

//全选、反选
$('#allChecked').on('click' , function(){
  var boxes = document.getElementsByName("ids");
    for(i=0;i<boxes.length;i++){
                boxes[i].checked = this.checked;
    }
    var optIds ='';
    if(this.checked){
      $("input[name='ids']:checkbox:checked").each(function(){ 
      optIds+=$(this).val() +',';
       });
    }else{
  optIds='';
      }
      if(''!=optIds){
        optIds = optIds.substring(0,optIds.length-1);
      }
      $('#optIds').val(optIds);
});
           },
            Paginate: true, 
           language:{
               url: 'vendor/jquery/datatables/Chinese.json'
          }
    });
});  





//单条删除
  function goDelete(id){
      top.layer.confirm('您确定删除吗', function(index){
           

  var postInfoUrl = API_URL+"signal_info";

  var infoUrl = API_URL+"signal_info?query=delflag:0,Id:"+id;

  var formData =  MY_ASYNC_AJAX(infoUrl)[0];

  formData.Delflag = "0";
   $.ajax({
      url : postInfoUrl+'/'+id,
      type : 'delete',
      data: JSON.stringify(formData),
      cache : false,
      success : function(data) {
        top.layer.msg('删除成功');
        location.reload();
      }
    });

 top.layer.close(index);
      });
  }



//修改是否展示状态
function updateDisplay(type,value,id){
  var info = '您确定';
  if(1==value){
    info+='打开';
  }else{
    info+='关闭';
  }
  
  if('pc'==type){
    info+='电脑端';
  }else if('phone'==type){
    info+='手机端';
  }else if('pad'==type){
    info+='pad端';
  }else if('tv'==type){
    info+='电视机端';
  }
  
  info+="显示吗？";
  
   //发起POST请求
  var postInfoUrl = API_URL+"signal_info";

  var infoUrl = API_URL+"signal_info?query=delflag:0,Id:"+id;

  var formData =  MY_ASYNC_AJAX(infoUrl)[0];
  

   if('pc'==type){
    formData.SignalDisplayOnPc = value+"";
    }else if('phone'==type){
    formData.SignalDisplayOnPhone = value +"";
    }else if('pad'==type){
    formData.SignalDisplayOnPad = value+"";
    }else if('tv'==type){
    formData.SignalDisplayOnTv = value+"";
  }



  top.layer.confirm(info, function(index){
    
    $.ajax({
      url : postInfoUrl+'/'+id,
      type : 'put',
      data: JSON.stringify(formData),
      cache : false,
      success : function(data) {
        top.layer.msg('更新成功');

      $("#myTable").DataTable().ajax.reload().draw();

      }

    });

    top.layer.close(index);
  });
}



</script>







